Compiler Correctness for Concurrent Languages

نویسندگان

  • David S. Gladstein
  • Mitchell Wand
چکیده

The goal of my thesis is to extend current methods for compiler derivation and veri cation to languages which exhibit true concurrency. The work has proceeded through the following steps. A process calculus, called CLAM, was de ned, based on the -calculus and modelling true concurrency. CLAM was used to de ne the semantics of a simple concurrent functional language, called Urlang, which was inspired by the programming language Erlang, which is in industrial use. A bytecode compiler for Urlang was then derived and proven correct, and a multiprocessor bytecode interpreter was implemented in Concert/C and proven correct. Finally it is argued that those features of Erlang which are not present in Urlang are easily added into our framework, either via source-to-source transformations into core Urlang or by means of straightforward additions to the operational semantics of CLAM. vii

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling Concurrency Correctly: Cutting out the Middle Man

The standard approach [23] to proving compiler correctness for concurrent languages requires the use of multiple translations into an intermediate process calculus. We present a simpler approach that avoids the need for such an intermediate language, using a new method that allows us to directly establish a bisimulation between the source and target languages. We illustrate the technique on two...

متن کامل

A Higher-Order Logic for Concurrent Termination-Preserving Refinement

Compiler correctness proofs for higher-order concurrent languages are difficult: they involve establishing a termination-preserving refinement between a concurrent high-level source language and an implementation that uses low-level shared memory primitives. However, existing logics for proving concurrent refinement either neglect properties such as termination, or only handle first-order state...

متن کامل

Algebraic Translations, Correctness and Algebraic Compiler Construction

Algebraic translation methods are argued for in many fields of science. Several examples will be considered: from the field of compiler construction, database updates, concurrent programming languages, logic, natural language translation, and natural language semantics. Special attention will be given to the notion ‘correctness of translation’. In all fields this notion can be defined as the co...

متن کامل

Semantics-Based Analysis for Optimizing Compilation of Concurrent Programs

Concurrent programming languages provide a paradigm for describing programs with complicated communication networks in a clear way. They support the creation of multiple computational units called processes that run concurrently in a program together with the mechanism for communication between processes, thereby simplifying the programming of synchronization and communication. Among them, conc...

متن کامل

A Cross-Language Framework for Verifying Compiler Optimizations

Most compiler correctness efforts, whether based on validation or once-and-for-all verification, are tightly tied to the particular language(s) under consideration. Proof techniques may be replicated for other targets, and parts of the compiler chain may be shared for new input or output languages, but the extent to which common elements can be generalized across multiple targets has not been f...

متن کامل

Type-Based Analysis of Communication for Concurrent Programming Languages

Powerful concurrency primitives in recent concurrent languages and thread libraries provide the great exibility about implementation of high-level features like concurrent objects. However, they are so low-level that they often make it di cult to check global correctness of programs or to perform aggressive code optimization. We propose a static analysis method for inferring how many times each...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996